package com.catsic.mod.service;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.catsic.base.BaseService;
import com.catsic.mod.condition.WserviceCondition;
import com.catsic.mod.entity.Wservice;
import com.catsic.mod.form.WserviceForm;
import com.catsic.pub.form.DrawerForm;
/**
 * 
 * @author zhoukai
 * wservice管理接口
 */
public interface WserviceService extends BaseService<Wservice, String> {

    /**
     * 添加.
     * @see com.catsic.base.BaseService#add(java.lang.Object)
     */
	public WserviceForm add(WserviceForm form);
	
    /**
     * 修改.
     * @see com.catsic.base.BaseService#update(java.lang.Object)
     */
	public WserviceForm update(WserviceForm form);
	
    /**
     * 根据接口类型查询.每个接口类型只有一个接口
     */
	public WserviceForm findByType(String type);
	
    /**
     * 报送.
     * @see com.catsic.base.BaseService#report(java.lang.Object)
     */
	public void report(String id);
	
	/**
     * 通过ID获得Wservice.
     */
	public Wservice findById(String id);
	
	/**
     * 通过ID获得WserviceForm.
     */
	public WserviceForm findByWserviceId(String id);
	
	/**
     * 获取未建立接口的接口类型抽屉.
     */
	public List<DrawerForm> findByDrawerNotWservice(String organId,String drawerId);
	
	/**
	 * findAll:查询接口
	 * @author 周凯
	 * @param condition
	 * @param pageable
	 * @return
	 */
	public Page<WserviceForm> findAll(WserviceCondition condition, Pageable pageable);
	
	/**
	 * findByDrawerId:根据户车人服务接口类型查询 返回接口 列表
	 * @author sgl
	 * @param id
	 * @return List
	 */
	public List<WserviceForm> findByDrawerId(String id);
	
}
